package multiplex.dataaccess.teste;

import java.util.List;

import multiplex.dataaccess.dao.LocalizacaoDao;
import multiplex.model.Localizacao;

public class LocalizacaoDaoTeste implements IDaoTeste{
	private int id;
	
	public void run(){
		SaveTeste();
		GetAndUpdateTeste();
		RemoveTeste(id);
	}
	
	private void SaveTeste(){
		LocalizacaoDao localizacaoDAO = new LocalizacaoDao();
		Localizacao localizacao = new Localizacao();
		localizacao.setNome("Multiplex Maranguape");
		localizacao.setLugarMarcado(true);
		localizacao.setCidade("Maranguape");
			
		localizacaoDAO.save(localizacao);
		System.out.println("Localizacao salva com sucesso!");
	}
	private void GetAndUpdateTeste(){
		List<Localizacao> localizacoes;
		LocalizacaoDao localizacaoDAO = new LocalizacaoDao();
		localizacoes=localizacaoDAO.getAll();
		if(localizacoes!=null){
			System.out.println("Localizacao carregado com sucesso!");
			Localizacao localizacao = localizacoes.get(0);
			localizacao.setNome("Multiplex Maranguape Megalópole");
			localizacaoDAO.update(localizacao);
			
			if(localizacaoDAO.get(localizacao.getId()).getNome().equals("Multiplex Maranguape Megalópole")){
				System.out.println("Localizacao atualizada com sucesso!");
				this.id=localizacao.getId();
			}
			
		}
		else
			System.out.println("Teste de Get falhou.");
	}
	
	private void RemoveTeste( int id){
		LocalizacaoDao localizacaoDAO = new LocalizacaoDao();
		Localizacao localizacao = new Localizacao();
		
		localizacao.setId(id);
		
		localizacaoDAO.remove(localizacao);
		System.out.println("Localizacao deletada com sucesso!");
	}
	
}
